<template>
	<view>


		<view>


			<u-list >
			<view class="box">
				<u-text text="所有测试记录" lineHeight="50px" size="20px" color="#fff" align="left"></u-text>
			</view>
			
			<!-- 职业性格测试 -->
				<u-list-item v-for="test in mentalTestStatuList">
					<u-cell :title="test.testName" >
						<template #right-icon>
							<u-button text="查看结果 " type="primary" size="small"
								@click="but1( test.id) ">
							</u-button>
						</template>
					</u-cell>
				</u-list-item>
				
				
				<!-- 大学生心理健康测试 -->
				<u-list-item v-for="test in psychologyTestStatuList">
					<u-cell :title="test.testName" >
						<template #right-icon>
							<u-button text="查看结果 " type="primary" size="small"
								@click="but2( test.id) ">
							</u-button>
						</template>
					</u-cell>
				</u-list-item>

			</u-list>
			

			
		</view>


	
			



	</view>
</template>

<script>
	import test from 'uview-ui/libs/function/test';
	import {getMentalTestList} from '../../../api/mentalTest/testList';
	import { getPsychologyTestList } from '../../../api/psychologyTest/testList';
	import {getCompletedMentalTestList} from '../../../api/mentalTest/testList';
	import { getPsychologyCompletedTestList } from '../../../api/psychologyTest/testList';
	import { selectmbtiTestResult } from '../../../api/mentalTest/mbtiTest';
	import { selectHuoLandTestResult } from '../../../api/mentalTest/HollandTest';
	import { selectCareeranchorTestResult } from '../../../api/mentalTest/CareerAnchorTest';
	import { selectMentalHealthTestResult } from '../../../api/psychologyTest/psychologyTest';
	
	export default {
		data() {
			return {
				mentalTests: [],
				psychologyTests:[],
				mentalFinishList: [],
				psychologyFinishList:[],
				
				mentalTestStatuList: [],
				psychologyTestStatuList:[]



			};
		},

// 里边得异步函数需要等待，自己也需要等待，就说说明自己也是一个异步函数
	   async created() {
			
			// 职业性格测试
			// 查询所有的测试
			const  mentalTests= await getMentalTestList() //会暂停函数的执行！！！！！！
			// 查询所有已完成的测试
			const  mentalFinishList= await getCompletedMentalTestList()

			mentalTests.rows.forEach((item)=>{
				if( mentalFinishList.data.includes(item.id) ){
					this.mentalTestStatuList.push(item)
				}	
			})

			
			
			
			// 心理健康测试
			// 查询所有测试
			const PsychologyTests=await getPsychologyTestList()
			// 查询已完成的测试
			const PsychologyCompletedTests=await getPsychologyCompletedTestList()
			
			PsychologyTests.rows.forEach((item)=>{
			   if(PsychologyCompletedTests.data.includes(item.id)){
				   this.psychologyTestStatuList.push(item)
			   }
			})	



			// 先查所有职业性格测试
			// getMentalTestList().then((res) => {
			// 	this.mentalTests = res.rows;
			// })
						
			// getCompletedMentalTestList().then(res => {
			// 	this.mentalFinishList = res.data;
			// 	this.mentalTests.forEach((item) => {
			// 		let statu = this.mentalFinishList.includes(item.id)
			// 		this.mentalTestStatuList.push({
			// 			testId: item.id,
			// 			isExist: statu,
			// 			testTotal: item.testTotal,
			// 			testName: item.testName,
			// 			url: item.url
			// 		})
			// 	})
			// })
			
			// 之所以有时候无法正常显示，是因为先执行的第二个请求
		},

		methods: {
			// 跳转职业性格测试结果页面
			but1(id) {
			switch(id){	
				// mbti测试
				case 1:
				console.log("id为",id)
				selectmbtiTestResult().then((res)=>{
					this.toViewTestResult(res.data)
				})
				break;
				
				case 2:
				console.log("id为",id)
				selectHuoLandTestResult().then((res)=>{
					this.toViewTestResult(res.data)
				})
				break;
				
				
				case 3:
				console.log("id为",id)
				selectCareeranchorTestResult().then((res)=>{
					this.toViewTestResult(res.data)
				})
				break;
				
				
				}			
			},
			
			
			
			
			// 跳转心理健康测试结果页面
			but2(id){
				switch(id){
					// 心理健康测试
					case 1:
					console.log("id为",id)
					selectMentalHealthTestResult().then((res)=>{
						this.toViewTestResultS1(res.data)
					})
					break;
					
				
					
					
				}
				
				
			},
			
			toViewTestResult(data){
				
				// 下把type属性提取出来
				const excluded = new Set(['address', 'aiText', 'during', 'nickName', 'startTime', 'userid','id']);
				
				// 将map集合转为对象
				 console.log(Object.entries(data)    )

				 let arr1=[]
				 let arr2=[]
				Object.entries(data).forEach((item)=>{
					if(excluded.has(item[0])){
						// 这个数组专门存出type外的属性
						arr1.push(item)						
					}else{
						// 存之前先小写转大写
						item[0]=item[0].toUpperCase()
						// 这个数组专门存属于type的属性
						arr2.push(item)
					}
				})
				arr1.push(['type',0])//arr1为给测试结果页面提供信息的对象，需要添加一个type属性
				let testResultData=Object.fromEntries(arr1)
				let type=Object.fromEntries(arr2)
				testResultData.type=type
				console.log(testResultData)

				// 跳转到展示页面
				uni.navigateTo({
					url:"/pages/careerModel/careerResult/viewTestResult/viewTestResult"
					+"?data="+encodeURIComponent(JSON.stringify(testResultData))
				})
				
				
				
			},
			
			
			// 处理特殊的testResultData
			// 大学生心理健康
			toViewTestResultS1(data){
				let testResultData= {
					startTime: data.startTime,
					during:data.during,
					address:data.address,
					nickName:data.nickName,
					aiText:data.aiText,
					type:{
					人际关系敏感:data.is,
					情绪波动:data.ef,
					强迫倾向:data.ct,
					适应不良:data.mj,
					抑郁倾向:data.dt,
					心理不平衡:data.pi,
					敌对情绪:data.hl,
					偏执倾向:data.pt,
					焦虑倾向:data.at,
					学习压力感:data.as
					}
				}
				uni.navigateTo({
					url:"/pages/careerModel/careerResult/viewTestResult/viewTestResult"
					+"?data="+encodeURIComponent(JSON.stringify(testResultData))
				})
				
			}
		}
	};
</script>

<style scoped>
	* {
		margin: 0;
		padding: 0;
	}

	.box {
		height: 5vh;
		width: 100%;
		background-color: #02a7f0;
		display: flex;
		align-items: center;
		padding-left: 15px;
	}

	.text-area {
		width: 100%;
		height: 100%;
	}

	/deep/ .u-cell__title-text.data-v-913eaa32 {
		font-size: 35rpx !important;
	}
</style>